package Ctr;

import java.util.ArrayList;
import java.util.Calendar;

import DB.*;
import Model.*;

public class CtrVare 
{
	private DBVare dbVare;
	private CtrFormat ctrFor;
	private DBUdlejningstype dbUdl;
	private DBEksemplar dbEks;
	
	public CtrVare()
	{ 
		dbVare = new DBVare();
		dbUdl = new DBUdlejningstype();
		ctrFor = new CtrFormat();
		dbEks = DBEksemplar.getInstance();
	}
	
	public Vare findVare(int id)
	{
		return dbVare.findVareId(id, true);
	}
	
	public Vare findVare(String navn)
	{
		Vare v = dbVare.findVareNavn(navn);
		return v;
	}
	
	public Vare findVareId(int id)
	{
		Vare v = dbVare.findVareId(id, true);
		return v;
	}
	
	public void updateVare(int vareid, String navn, String beskrivelse, int antal, String type, int rating, String aldersgruppe, String udgivelsesdato)
	{
		//Vare vare = new Vare(vareid, navn, beskrivelse, antal, dbUdl.findUdlejningstypeNavn(type), rating, aldersgruppe, udgivelsesdato);
		//dbVare.updateVare(vare);
	}
	
	public void createVare(String navn, String beskrivelse,int rating, String aldersgruppe, String udgivelsesdato, String udlejningstype, ArrayList<Format> fList, ArrayList<Varegenre> vgList)
	{
		CtrUdlejningstype ctrUdl = new CtrUdlejningstype();
	    Udlejningstype ud = ctrUdl.findUdlejningstypeNavn(udlejningstype);
		Vare v = new Vare(navn,beskrivelse,rating,aldersgruppe,udgivelsesdato,ud,fList);
		dbVare.createVare(v,vgList);
	}
	
	public void deleteVare(int vareid)
	{
		dbVare.deleteVare(vareid);
	}
	public ArrayList<Udlejningstype> findUdlejningstyper()
	{
		ArrayList<Udlejningstype> uList = new ArrayList<Udlejningstype>();
		uList = dbUdl.getAlleUdlejningstype();
		return uList;
	}
	public Eksemplar findEksemplar(int id, boolean rA)
	{
		return dbEks.findEksemplar(id, rA);
	}
	
	public void updateEksemplar(Eksemplar e)
	{
		dbEks.updateEksemplar(e);
	}

	public Varegenre findVareGenreNavn(String string) {
		DBVaregenre dbVg = new DBVaregenre();
		return dbVg.findVaregenreNavn(string, false);
	}

	public Vare findVareNavn(String navn) {
		DBVare dbVar = new DBVare();
		return dbVar.findVareNavn(navn);
	}
}
